<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<meta name="generator" content="Fog Creek CityDesk 2.0.27" />
<meta name="citydesk" content="AF0A0761/18" />
<title>Bindable LINQ - LINQ</title>
	<style type="text/css">
	body {
		background-color: #fff;
		font: 10pt segoe UI, arial, tahoma, arial, sans-serif;
	}

	h1 {
		font: bold 18pt "Cambria","Segoe UI",Arial;
		margin: 0px;
	}
	h2 {
		font-size: 12pt;
		font-weight: bold;
	}
	h3 {
		font-size: 11pt;
		font-weight: bold;
	}
	h4, h5 {
		font-size: 10pt;
		font-weight: bold;
	}
	
	#container
	{
		width: 90%;
		margin: 10px auto;
		background-color: #fff;
		color: #333;
		border: 1px solid #009900;
		line-height: 130%;
	}
	
	#top
	{
		padding: .5em;
		background-color: #F3F6EC;
		border-bottom: 1px solid #009900;
	}
	
	#top h1
	{
		padding: 0;
		margin: 0;
	}
	
	#leftnav
	{
		float: left;
		width: 250px;
		margin: 0;
		padding: 10px;
	}
	
	#content
	{
		margin-left: 300px;
		border-left: 1px solid #009900;
		padding: 10px;
	}
	
	#footer
	{
		clear: both;
		margin: 0;
		padding: .5em;
		color: #333;
		background-color: #F3F6EC;
		border-top: 1px solid #009900;
	}
	
	a 
	{
		color:#105CB6;
		text-decoration:underline;
	}
	
	#content p { line-height: 150%; }

	</style>
</head>
<body>

	<div id="container">
		<div id="top">
			<h1><a href="../../Index.html">Bindable LINQ</a></h1>
			<h2>Reactive Programming for the .NET Framework</h2>
		</div>
		
		<div id="leftnav">
			<p>
			<ul>
				<li><a href="../../Index.html">Introduction</a></li>
				<li><a href="../../1_QuickStarts/GettingStarted.html">Getting Started</a></li>
				<li><a href="../Overview.html">Design Concepts</a></li>
				<ul>
					<li><a href="Overview.html">Background</a></li>
					<ul>
						<li><a href="ReactiveProgramming.html">Reactive Programming</a></li>
						<li><a href="DataBinding.html">Data Binding</a></li>
						<li><a href="LINQ.html">LINQ</a></li>
					</ul>
				</ul>
				<ul>
					<li><a href="../../2_DesignConcepts/BindableLINQDetails/Overview.html">Bindable LINQ</a></li>
					<ul>
						<li><a href="../../2_DesignConcepts/BindableLINQDetails/Platforms.html">Platform Support</a></li>
						<li><a href="../../2_DesignConcepts/BindableLINQDetails/Dependencies.html">Query Dependencies</a></li>
						<li><a href="../../2_DesignConcepts/BindableLINQDetails/ListOfSupportedQueries.html">List of Supported LINQ Syntax</a></li>
						<li><a href="../../2_DesignConcepts/BindableLINQDetails/BindableLINQPatterns.html">Application Patterns</a></li>
					</ul>
				</ul>
				<li><a href="../../3_FAQ/FAQ.html">FAQ</a></li>
				<li><a href="../../4_QueryExamples/Overview.html">Examples</a></li>
				<li><a href="../../5_SampleApplications/Overview.html">Sample Applications</a></li>
				<li><a href="../../6_Implementation/Overview.html">Implementation</a></li>
				<li><a href="../../License.html">License</a></li>
			</ul>
			</p>
		</div>
	
		<div id="content">
	
			
			<div>
				<h1>LINQ</h1>
			</div>
			
		
			<p><strong>Language Integrated Query</strong>, or <strong>LINQ</strong>, is a component of the .NET Framework that adds integrated data querying syntax to C#, VB.NET and other .NET languages. LINQ allows you to use a common set of syntax and query operators that can be applied to various sources of data via the concept of LINQ providers. LINQ to Objects is an out-of-the-box LINQ provider that allows querying over in-memory collections such as generic Lists or Arrays.</p>
<p>The functional characteristics of LINQ, and its focus on querying data, make it a perfect enabler of&nbsp;<a href="ReactiveProgramming.html">Reactive Programming</a>. Unfortunately, with LINQ to Objects, once a LINQ query has been evaluated and the results have been yielded, subsequent changes to the source collection are not propagated. LINQ to Objects is designed purely for discreet evaluation.</p>

<p>Bindable LINQ is thus an implementation of LINQ that works in-memory, just like LINQ to Objects, but which maintains the relationship with the source being queried. When the source collection raises events indicating that something has changed, Bindable LINQ will propagate the changes throughout the LINQ query, evaluate the changes, and any derived values will be updated. Bindable LINQ enables reactive LINQ queries.</p>


		</div>
	
		<div id="footer">More Links</div>
	</div>
</body>
</html>
